﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CLFramework.Windows.Forms
{
    [AttributeUsage(AttributeTargets.Class)]
    public class ModuleContractAttribute : Attribute
    {
        private Guid moduleID;

        public Guid ModuleID
        {
            get { return moduleID; }
            set { moduleID = value; }
        }

        private string category;

        public string Category
        {
            get { return category; }
            set { category = value; }
        }

        private string moduleName;

        public string ModuleName
        {
            get { return moduleName; }
            set { moduleName = value; }
        }

        private int powFlag = 0;
        public int PowFlag
        {
            get { return powFlag; }
            set { powFlag = value; }
        }

        public ModuleContractAttribute(string moduleID, string category, string moduleName)
        {
            this.moduleID = new Guid(moduleID);
            this.category = category;
            this.moduleName = moduleName;
        }

        public ModuleContractAttribute(string moduleID, string category, string moduleName, int powFlag)
        {
            this.moduleID = new Guid(moduleID);
            this.category = category;
            this.moduleName = moduleName;
            this.powFlag = powFlag;
        }
    }
}
